package com.cskaoyan.javase.oop3._1interface._4example;

import com.cskaoyan.javase.oop3._1interface._4example.controller.GoodsController;
import com.cskaoyan.javase.oop3._1interface._4example.controller.impl.GoodsControllerImpl;
import com.cskaoyan.javase.oop3._1interface._4example.model.Goods;

/**
 * 某电商系统后台
 * 前端程序员需要后端程序员，提供接口来完成库存的管理，展示页面。
 * 假如前后端商量好，要求：
 *      1.展示全部商品（goods）页面时，将仅装有商品对象的数组返回，前端不提供任何数据。
 *      2.新增商品时，前端提供商品各种参数，后端需要校验ID唯一性，然后将对象插入数组，返回插入结果。
 *      3.删除商品时，前端提供商品ID，后端将该商品删除后，返回删除删除结果。（成功返回true，找不到该ID的商品返回false）
 *      ...
 *
 * @since 11:01
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Test {
    public static void main(String[] args) {
        System.out.println("现在要展示全部的商品:");
        GoodsController gc = new GoodsControllerImpl();
        Goods[] realGoods = gc.getAllRealGoods();
        for (Goods ele : realGoods) {
            ele.print();
        }
        System.out.println("现在开始测试插入商品:");
        switch (gc.insertGoods(10, "联想笔记本电脑", 10000, "联想")) {
            case 0:
                System.out.println("插入成功!");
                for (Goods ele : gc.getAllRealGoods()) {
                    ele.print();
                }
                break;
            case 1:
                System.out.println("id重复了,插入失败!");
                break;
            case 2:
                System.out.println("数组满了,没有null的位置了!");
                break;
        }
    }
}